YES(O(1),O(n^1)) We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { concat(leaf(), Y) -> Y , concat(cons(U, V), Y) -> cons(U, concat(V, Y)) , lessleaves(X, leaf()) -> false() , lessleaves(leaf(), cons(W, Z)) -> true() , lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 1' to orient following rules strictly. Trs: { lessleaves(X, leaf()) -> false() , lessleaves(leaf(), cons(W, Z)) -> true() } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- TcT has computed the following constructor-based matrix interpretation satisfying not(EDA). [concat](x1, x2) = [1] x1 + [1] x2 + [0] [leaf] = [0] [cons](x1, x2) = [1] x1 + [1] x2 + [0] [lessleaves](x1, x2) = [1] x1 + [2] x2 + [1] [false] = [0] [true] = [0] This order satisfies the following ordering constraints: [concat(leaf(), Y)] = [1] Y + [0] >= [1] Y + [0] = [Y] [concat(cons(U, V), Y)] = [1] Y + [1] U + [1] V + [0] >= [1] Y + [1] U + [1] V + [0] = [cons(U, concat(V, Y))] [lessleaves(X, leaf())] = [1] X + [1] > [0] = [false()] [lessleaves(leaf(), cons(W, Z))] = [2] W + [2] Z + [1] > [0] = [true()] [lessleaves(cons(U, V), cons(W, Z))] = [1] U + [1] V + [2] W + [2] Z + [1] >= [1] U + [1] V + [2] W + [2] Z + [1] = [lessleaves(concat(U, V), concat(W, Z))] We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { concat(leaf(), Y) -> Y , concat(cons(U, V), Y) -> cons(U, concat(V, Y)) , lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } Weak Trs: { lessleaves(X, leaf()) -> false() , lessleaves(leaf(), cons(W, Z)) -> true() } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 1' to orient following rules strictly. Trs: { concat(leaf(), Y) -> Y , lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- TcT has computed the following constructor-based matrix interpretation satisfying not(EDA). [concat](x1, x2) = [1] x1 + [1] x2 + [0] [leaf] = [2] [cons](x1, x2) = [1] x1 + [1] x2 + [2] [lessleaves](x1, x2) = [2] x1 + [1] x2 + [0] [false] = [1] [true] = [1] This order satisfies the following ordering constraints: [concat(leaf(), Y)] = [1] Y + [2] > [1] Y + [0] = [Y] [concat(cons(U, V), Y)] = [1] Y + [1] U + [1] V + [2] >= [1] Y + [1] U + [1] V + [2] = [cons(U, concat(V, Y))] [lessleaves(X, leaf())] = [2] X + [2] > [1] = [false()] [lessleaves(leaf(), cons(W, Z))] = [1] W + [1] Z + [6] > [1] = [true()] [lessleaves(cons(U, V), cons(W, Z))] = [2] U + [2] V + [1] W + [1] Z + [6] > [2] U + [2] V + [1] W + [1] Z + [0] = [lessleaves(concat(U, V), concat(W, Z))] We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(n^1)). Strict Trs: { concat(cons(U, V), Y) -> cons(U, concat(V, Y)) } Weak Trs: { concat(leaf(), Y) -> Y , lessleaves(X, leaf()) -> false() , lessleaves(leaf(), cons(W, Z)) -> true() , lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(n^1)) We use the processor 'matrix interpretation of dimension 2' to orient following rules strictly. Trs: { concat(cons(U, V), Y) -> cons(U, concat(V, Y)) } The induced complexity on above rules (modulo remaining rules) is YES(?,O(n^1)) . These rules are moved into the corresponding weak component(s). Sub-proof: ---------- TcT has computed the following constructor-based matrix interpretation satisfying not(EDA) and not(IDA(1)). [concat](x1, x2) = [1 1] x1 + [1 0] x2 + [0] [0 1] [0 2] [2] [leaf] = [0] [0] [cons](x1, x2) = [1 2] x1 + [1 0] x2 + [2] [0 0] [0 1] [2] [lessleaves](x1, x2) = [1 0] x1 + [2 0] x2 + [0] [0 0] [0 0] [0] [false] = [0] [0] [true] = [3] [0] This order satisfies the following ordering constraints: [concat(leaf(), Y)] = [1 0] Y + [0] [0 2] [2] >= [1 0] Y + [0] [0 1] [0] = [Y] [concat(cons(U, V), Y)] = [1 0] Y + [1 2] U + [1 1] V + [4] [0 2] [0 0] [0 1] [4] > [1 0] Y + [1 2] U + [1 1] V + [2] [0 2] [0 0] [0 1] [4] = [cons(U, concat(V, Y))] [lessleaves(X, leaf())] = [1 0] X + [0] [0 0] [0] >= [0] [0] = [false()] [lessleaves(leaf(), cons(W, Z))] = [2 4] W + [2 0] Z + [4] [0 0] [0 0] [0] > [3] [0] = [true()] [lessleaves(cons(U, V), cons(W, Z))] = [1 2] U + [1 0] V + [2 4] W + [2 0] Z + [6] [0 0] [0 0] [0 0] [0 0] [0] > [1 1] U + [1 0] V + [2 2] W + [2 0] Z + [0] [0 0] [0 0] [0 0] [0 0] [0] = [lessleaves(concat(U, V), concat(W, Z))] We return to the main proof. We are left with following problem, upon which TcT provides the certificate YES(O(1),O(1)). Weak Trs: { concat(leaf(), Y) -> Y , concat(cons(U, V), Y) -> cons(U, concat(V, Y)) , lessleaves(X, leaf()) -> false() , lessleaves(leaf(), cons(W, Z)) -> true() , lessleaves(cons(U, V), cons(W, Z)) -> lessleaves(concat(U, V), concat(W, Z)) } Obligation: innermost runtime complexity Answer: YES(O(1),O(1)) Empty rules are trivially bounded Hurray, we answered YES(O(1),O(n^1))